class DataPackage(object):
    def __init__(self, first_price, first_number,
                 sell_price_list, buy_price_list, end_price):
        """
        Init all data
        :param first_price: first price to buy
        :param first_number: first counts
        :param sell_price_list: every time sell price list,
        like sell 2 times [ [1.2, 3.4, 5.6],[6.7, 8.9] ]
        :param buy_price_list: every time buy price list, refer above
        :param end_price: end sell all number price
        :Note sell list and buy list len should be the same!
        """
        self.first_price = first_price
        self.first_number = first_number
        self.sell_price_list = sell_price_list
        self.buy_price_list = buy_price_list
        self.end_price = end_price

    @property
    def get_first_price(self):
        """
        Get value
        :return: first price
        """
        return self.first_price

    @property
    def get_first_number(self):
        """
        Get value
        :return: first_number
        """
        return self.first_number

    @property
    def get_sell_price_list(self):
        """
        Get value
        :return: sell_price_list
        """
        return self.sell_price_list

    @property
    def get_buy_price_list(self):
        """
        Get value
        :return: buy_price_list
        """
        return self.buy_price_list

    @property
    def get_end_price(self):
        """
        Get value
        :return: end_price
        """
        return self.end_price

class HandleData(object):
    def __init__(self, DP_object):
        """
        Init the data
        :param DP_object: DataPackage object
        """
        self.DP_object = DP_object

        # first buy price * first buy number
        self.total_money_in = 0

        #average keep price, current keep number
        self.average_price = 0
        self.current_number = 0

        #profit, tax
        self.total_tax = 0
        self.profit = 0

        #init values
        self.total_money_in = self.DP_object.first_price * self.DP_object.first_number

    def calculate(self):
        """
        Start to calculate profit
        """